/**
 * 
 */
package org.gaming.prefab.thing.bign;

import java.math.BigDecimal;

import org.gaming.prefab.thing.AbstractThingService;
import org.gaming.prefab.thing.IThingType;
import org.gaming.prefab.thing.ThingStorer;
import org.gaming.prefab.thing.cost.CostReceipt;
import org.gaming.prefab.thing.cost.ICostThing;
import org.gaming.prefab.thing.reward.IRewardThing;
import org.gaming.prefab.thing.reward.RewardReceipt;

/**
 * @author YY
 *
 */
public abstract class BignThingService<Reward extends IRewardThing<BigDecimal>, Cost extends ICostThing<BigDecimal>> extends
		AbstractThingService<BigDecimal, Reward, Cost, RewardReceipt<BigDecimal>, CostReceipt<BigDecimal>> {

	@SuppressWarnings("unchecked")
	@Override
	public ThingStorer<BigDecimal, Reward, Cost, RewardReceipt<BigDecimal>, CostReceipt<BigDecimal>> getStorer(
			IThingType thingType) {
		BignThingStorer<?, ?> storer = BignThingStorer.getStorer(thingType);
		return (ThingStorer<BigDecimal, Reward, Cost, RewardReceipt<BigDecimal>, CostReceipt<BigDecimal>>) storer;
	}

}
